XML DTD -
Schema has:
16 element definitions and 210 element attribute definitions.
Posible root elements: < a >   < channel > (orphan?)   < meta > (orphan?)  
< smil >  

Element list

Element smil
 
diagram
attributes id  
uses head   body  
 
used byNot used by other elements. Possible root element.
content a sequence of elements
occurrence required (default)
 
AttributeDatatypeRequiredValuesDefault
idID no (default)
 
source
<!ELEMENT smil (head? , body? )>
<!ATTLIST smil id ID #IMPLIED >  

Element head
 
diagram
attributes id  
uses layout   switch  
 
used bysmil  
content a sequence of elements
occurrence required (default)
 
AttributeDatatypeRequiredValuesDefault
idID no (default)
 
source
<!ELEMENT head ( (%head-element; )* )>
<!ATTLIST head id ID #IMPLIED >  

Element layout
 
diagram
description =================== Layout Element ==================================== Layout contains channel elements or the elements of an external layout mechanism.
attributes id   type  
uses
 
used byhead   switch  
content character data and a sequence of elements
occurrence required (default)
 
AttributeDatatypeRequiredValuesDefault
idID no (default)
type string (default) no (default) text/smil-basic
 
source
<!--=================== Layout Element ====================================-->
<!-- Layout contains channel elements or the elements of an external layout mechanism.-->
<!ELEMENT layout ANY>
<!ATTLIST layout id ID #IMPLIED type CDATA 'text/smil-basic' >  

Element channel
 
diagram
description =================== Channel Element ===================================
attributes id   left   top   z-index   height   width   scale  
uses
 
used byNot used by other elements. Possible root element.
content empty
occurrence
 
AttributeDatatypeRequiredValuesDefault
idIDYes
left string (default) no (default) 0
top string (default) no (default) 0
z-index string (default) no (default) 0
height string (default) no (default)
width string (default) no (default)
scaleEnumeration no (default) meet  slice  fill  visible  hidden  auto  scroll  meet
 
source
<!--=================== Channel Element ===================================-->
<!ELEMENT channel EMPTY>
<!ATTLIST channel id ID #REQUIRED left CDATA '0' top CDATA '0' z-index CDATA '0' height CDATA #IMPLIED width CDATA #IMPLIED scale (meet | slice | fill | visible | hidden | auto | scroll ) 'meet' >  

Element meta
 
diagram
description =================== Meta Element=======================================
attributes name   content  
uses
 
used byNot used by other elements. Possible root element.
content empty
occurrence
 
AttributeDatatypeRequiredValuesDefault
nameNmtokenYes
content string (default) Yes
 
source
<!--=================== Meta Element=======================================-->
<!ELEMENT meta EMPTY>
<!ATTLIST meta name NMTOKEN #REQUIRED content CDATA #REQUIRED >  

Element body
 
diagram
attributes id  
uses par   seq   audio   video   text   img   ref  
 
used bysmil  
content choice
occurrence Optional
 
AttributeDatatypeRequiredValuesDefault
idID no (default)
 
source
<!ELEMENT body (%body-content; )?>
<!ATTLIST body id ID #IMPLIED >  

Element par
 
diagram
attributes id   endsync   sync   dur   repeat   fill   channel   begin   end   bitrate   language   screen-size   screen-depth  
uses par   seq   audio   video   text   img   ref  
 
used bya   body   par   seq   switch  
content choice
occurrence ZeroOrMore
 
AttributeDatatypeRequiredValuesDefault
idID no (default)
endsync string (default) no (default) last
syncEnumeration no (default) hard  soft  
dur string (default) no (default)
repeat string (default) no (default) 1
fillEnumeration no (default) remove  freeze  loop  remove
channelIDRef no (default)
begin string (default) no (default)
end string (default) no (default)
bitrate string (default) no (default)
language string (default) no (default)
screen-size string (default) no (default)
screen-depth string (default) no (default)
 
source
<!ELEMENT par (%par-content; )*>
<!ATTLIST par id ID #IMPLIED endsync CDATA 'last' sync (hard | soft ) #IMPLIED dur CDATA #IMPLIED repeat CDATA '1' %fill-attribute; channel IDREF #IMPLIED %sync-attributes; %switch-param-attribute; >  

Element seq
 
diagram
attributes id   dur   repeat   fill   begin   end   bitrate   language   screen-size   screen-depth  
uses par   seq   audio   video   text   img   ref  
 
used bya   body   par   seq   switch  
content choice
occurrence ZeroOrMore
 
AttributeDatatypeRequiredValuesDefault
idID no (default)
dur string (default) no (default)
repeat string (default) no (default) 1
fillEnumeration no (default) remove  freeze  loop  remove
begin string (default) no (default)
end string (default) no (default)
bitrate string (default) no (default)
language string (default) no (default)
screen-size string (default) no (default)
screen-depth string (default) no (default)
 
source
<!ELEMENT seq (%seq-content; )*>
<!ATTLIST seq id ID #IMPLIED dur CDATA #IMPLIED repeat CDATA '1' %fill-attribute; %sync-attributes; %switch-param-attribute; >  

Element switch
 
diagram
attributes id   bitrate   language   screen-size   screen-depth  
uses layout   par   seq   audio   video   text   img   ref  
 
used bya   head  
content choice
occurrence ZeroOrMore
 
AttributeDatatypeRequiredValuesDefault
idID no (default)
bitrate string (default) no (default)
language string (default) no (default)
screen-size string (default) no (default)
screen-depth string (default) no (default)
 
source
<!ELEMENT switch (%switch-content; )*>
<!ATTLIST switch id ID #IMPLIED %switch-param-attribute; >  

Element ref
 
diagram
description Most info is in the attributes, media objects are empty or contain associated link elements:
attributes id   src   type   channel   dur   repeat   fill   begin   end   bitrate   language   screen-size   screen-depth   xml-link   show   actuate   inline   range  
uses anchor  
 
used bya   body   par   seq   switch  
content a sequence of elements
occurrence ZeroOrMore
 
AttributeDatatypeRequiredValuesDefault
idID no (default)
src string (default) Yes
type string (default) no (default)
channelIDRef no (default)
dur string (default) no (default)
repeat string (default) no (default) 1
fillEnumeration no (default) remove  freeze  loop  remove
begin string (default) no (default)
end string (default) no (default)
bitrate string (default) no (default)
language string (default) no (default)
screen-size string (default) no (default)
screen-depth string (default) no (default)
xml-linkEnumerationYessimple  simple
showEnumerationYesembed  embed
actuateEnumerationYesauto  auto
inlineEnumerationYestrue  true
range string (default) no (default)
 
source
<!-- Most info is in the attributes, media objects are empty or contain associated link elements:-->
<!ELEMENT ref (%assoc-link; )*>
<!ATTLIST ref %mo-attributes; %range-attribute; >  

Element audio
 
diagram
attributes id   src   type   channel   dur   repeat   fill   begin   end   bitrate   language   screen-size   screen-depth   xml-link   show   actuate   inline   range  
uses anchor  
 
used bya   body   par   seq   switch  
content a sequence of elements
occurrence ZeroOrMore
 
AttributeDatatypeRequiredValuesDefault
idID no (default)
src string (default) Yes
type string (default) no (default)
channelIDRef no (default)
dur string (default) no (default)
repeat string (default) no (default) 1
fillEnumeration no (default) remove  freeze  loop  remove
begin string (default) no (default)
end string (default) no (default)
bitrate string (default) no (default)
language string (default) no (default)
screen-size string (default) no (default)
screen-depth string (default) no (default)
xml-linkEnumerationYessimple  simple
showEnumerationYesembed  embed
actuateEnumerationYesauto  auto
inlineEnumerationYestrue  true
range string (default) no (default)
 
source
<!ELEMENT audio (%assoc-link; )*>
<!ATTLIST audio %mo-attributes; %range-attribute; >  

Element img
 
diagram
attributes id   src   type   channel   dur   repeat   fill   begin   end   bitrate   language   screen-size   screen-depth   xml-link   show   actuate   inline  
uses anchor  
 
used bya   body   par   seq   switch  
content a sequence of elements
occurrence ZeroOrMore
 
AttributeDatatypeRequiredValuesDefault
idID no (default)
src string (default) Yes
type string (default) no (default)
channelIDRef no (default)
dur string (default) no (default)
repeat string (default) no (default) 1
fillEnumeration no (default) remove  freeze  loop  remove
begin string (default) no (default)
end string (default) no (default)
bitrate string (default) no (default)
language string (default) no (default)
screen-size string (default) no (default)
screen-depth string (default) no (default)
xml-linkEnumerationYessimple  simple
showEnumerationYesembed  embed
actuateEnumerationYesauto  auto
inlineEnumerationYestrue  true
 
source
<!ELEMENT img (%assoc-link; )*>
<!ATTLIST img %mo-attributes; >  

Element video
 
diagram
attributes id   src   type   channel   dur   repeat   fill   begin   end   bitrate   language   screen-size   screen-depth   xml-link   show   actuate   inline   range  
uses anchor  
 
used bya   body   par   seq   switch  
content a sequence of elements
occurrence ZeroOrMore
 
AttributeDatatypeRequiredValuesDefault
idID no (default)
src string (default) Yes
type string (default) no (default)
channelIDRef no (default)
dur string (default) no (default)
repeat string (default) no (default) 1
fillEnumeration no (default) remove  freeze  loop  remove
begin string (default) no (default)
end string (default) no (default)
bitrate string (default) no (default)
language string (default) no (default)
screen-size string (default) no (default)
screen-depth string (default) no (default)
xml-linkEnumerationYessimple  simple
showEnumerationYesembed  embed
actuateEnumerationYesauto  auto
inlineEnumerationYestrue  true
range string (default) no (default)
 
source
<!ELEMENT video (%assoc-link; )*>
<!ATTLIST video %mo-attributes; %range-attribute; >  

Element text
 
diagram
attributes id   src   type   channel   dur   repeat   fill   begin   end   bitrate   language   screen-size   screen-depth   xml-link   show   actuate   inline  
uses anchor  
 
used bya   body   par   seq   switch  
content a sequence of elements
occurrence ZeroOrMore
 
AttributeDatatypeRequiredValuesDefault
idID no (default)
src string (default) Yes
type string (default) no (default)
channelIDRef no (default)
dur string (default) no (default)
repeat string (default) no (default) 1
fillEnumeration no (default) remove  freeze  loop  remove
begin string (default) no (default)
end string (default) no (default)
bitrate string (default) no (default)
language string (default) no (default)
screen-size string (default) no (default)
screen-depth string (default) no (default)
xml-linkEnumerationYessimple  simple
showEnumerationYesembed  embed
actuateEnumerationYesauto  auto
inlineEnumerationYestrue  true
 
source
<!ELEMENT text (%assoc-link; )*>
<!ATTLIST text %mo-attributes; >  

Element a
 
diagram
description =================== Inline Link Element ===============================
attributes xml-link   actuate   show   inline   role   content-role   content-title   behavior   id   href  
uses par   seq   audio   video   text   img   ref   switch  
 
used byNot used by other elements. Possible root element.
content choice
occurrence ZeroOrMore
 
AttributeDatatypeRequiredValuesDefault
xml-linkEnumerationYessimple  simple
actuateEnumerationYesuser  user
showEnumeration no (default) replace  new  pause  replace
inlineEnumerationYestrue  true
role string (default) no (default)
content-role string (default) no (default)
content-title string (default) no (default)
behavior string (default) no (default)
idID no (default)
href string (default) Yes
 
source
<!--=================== Inline Link Element ===============================-->
<!ELEMENT a (%schedule; | switch )*>
<!ATTLIST a %link-XML-link-atts; %smil-link-attributes; >  

Element anchor
 
diagram
description =================== Associated Link Element ===========================
attributes coords   iid   z-index   id   href   xml-link   actuate   show   inline   role   content-role   content-title   behavior   begin   end  
uses
 
used byaudio   img   ref   text   video  
content empty
occurrence
 
AttributeDatatypeRequiredValuesDefault
coords string (default) no (default)
iid string (default) no (default)
z-index string (default) no (default) 0
idID no (default)
href string (default) Yes
xml-linkEnumerationYessimple  simple
actuateEnumerationYesuser  user
showEnumeration no (default) replace  new  pause  replace
inlineEnumerationYestrue  true
role string (default) no (default)
content-role string (default) no (default)
content-title string (default) no (default)
behavior string (default) no (default)
begin string (default) no (default)
end string (default) no (default)
 
source
<!--=================== Associated Link Element ===========================-->
<!ELEMENT anchor EMPTY>
<!ATTLIST anchor coords CDATA #IMPLIED iid CDATA #IMPLIED z-index CDATA '0' %smil-link-attributes; %link-XML-link-atts; %sync-attributes; >  

Original Schema Source


<!-- This is a draft and experimental XML document type definition for SMIL 1.0. Draft: $Date: 1998/05/22 19:33:00 $ ($Revision: 1.2 $) Author: Jacco van Ossenbruggen
<jrvosse@cwi.nl> This is work in progress, subject to change at any time. Further information about SMIL 1.0 is available at: http://www.w3.org/AudioVideo/-->
<!--=================== SMIL Document =====================================-->
<!-- The root element SMIL contains all other elements.-->
<!ELEMENT smil (head? , body? )>
<!ATTLIST smil id ID #IMPLIED >
<!--=================== The Document Head =================================-->
<!ENTITY % layout-section "layout|switch">
<!ENTITY % head-element "%layout-section;|meta">
<!ELEMENT head ( (%head-element; )* )>
<!ATTLIST head id ID #IMPLIED >
<!--=================== Layout Element ====================================-->
<!-- Layout contains channel elements or the elements of an external layout mechanism.-->
<!ELEMENT layout ANY>
<!ATTLIST layout id ID #IMPLIED type CDATA 'text/smil-basic' >
<!--=================== Channel Element ===================================-->
<!ELEMENT channel EMPTY>
<!ATTLIST channel id ID #REQUIRED left CDATA '0' top CDATA '0' z-index CDATA '0' height CDATA #IMPLIED width CDATA #IMPLIED scale (meet | slice | fill | visible | hidden | auto | scroll ) 'meet' >
<!--=================== Meta Element=======================================-->
<!ELEMENT meta EMPTY>
<!ATTLIST meta name NMTOKEN #REQUIRED content CDATA #REQUIRED >
<!--=================== The Document Body =================================-->
<!ENTITY % media-object "audio|video|text|img|ref">
<!ENTITY % schedule "par|seq|(%media-object;)">
<!ENTITY % inline-link "a">
<!ENTITY % assoc-link "anchor">
<!ENTITY % link "%inline-link;">
<!ENTITY % container-content "(%schedule;)|switch|(%link;)">
<!ENTITY % body-content "%container-content;">
<!ELEMENT body (%body-content; )?>
<!ATTLIST body id ID #IMPLIED >
<!--=================== Synchronization Attributes ========================-->
<!ENTITY % sync-attributes " begin CDATA #IMPLIED end CDATA #IMPLIED">
<!--=================== Switch Parameter Attributes =======================-->
<!ENTITY % switch-param-attribute " bitrate CDATA #IMPLIED language CDATA #IMPLIED screen-size CDATA #IMPLIED screen-depth CDATA #IMPLIED">
<!--=================== Fill Attribute ====================================-->
<!ENTITY % fill-attribute " fill (remove|freeze|loop) 'remove'">
<!--=================== The Parallel Element ==============================-->
<!-- The default for par's sync attribute is the value of the sync attribute of the SMIL root element.-->
<!ENTITY % par-content "%container-content;">
<!ELEMENT par (%par-content; )*>
<!ATTLIST par id ID #IMPLIED endsync CDATA 'last' sync (hard | soft ) #IMPLIED dur CDATA #IMPLIED repeat CDATA '1' %fill-attribute; channel IDREF #IMPLIED %sync-attributes; %switch-param-attribute; >
<!--=================== The Sequential Element ============================-->
<!ENTITY % seq-content "%container-content;">
<!ELEMENT seq (%seq-content; )*>
<!ATTLIST seq id ID #IMPLIED dur CDATA #IMPLIED repeat CDATA '1' %fill-attribute; %sync-attributes; %switch-param-attribute; >
<!--=================== The Switch Element ================================-->
<!-- In the head, a switch may contain only layout elements, in the body, only container elements. However, this constraint cannot be expressed in the DTD (?), so we allow both:-->
<!ENTITY % switch-content "layout|(%container-content;)">
<!ELEMENT switch (%switch-content; )*>
<!ATTLIST switch id ID #IMPLIED %switch-param-attribute; >
<!--=================== Media Object Elements =============================-->
<!-- SMIL only defines the structure. The real media data is referenced by the src attribute of the media objects. The media objects have the following link attributes for XML linking compatibility:-->
<!ENTITY % mo-XML-link-atts " xml-link (simple) #FIXED 'simple' show (embed) #FIXED 'embed' actuate (auto) #FIXED 'auto' inline (true) #FIXED 'true'">
<!-- Furthermore, they have the the following attributes as defined in the SMIL draft-->
<!ENTITY % mo-attributes " id ID #IMPLIED src CDATA #REQUIRED type CDATA #IMPLIED channel IDREF #IMPLIED dur CDATA #IMPLIED repeat CDATA '1' %fill-attribute; %sync-attributes; %switch-param-attribute; %mo-XML-link-atts;">
<!-- Some of the media objects can have a range attribute -->
<!ENTITY % range-attribute "range CDATA #IMPLIED">
<!-- Most info is in the attributes, media objects are empty or contain associated link elements:-->
<!ELEMENT ref (%assoc-link; )*>
<!ATTLIST ref %mo-attributes; %range-attribute; >
<!ELEMENT audio (%assoc-link; )*>
<!ATTLIST audio %mo-attributes; %range-attribute; >
<!ELEMENT img (%assoc-link; )*>
<!ATTLIST img %mo-attributes; >
<!ELEMENT video (%assoc-link; )*>
<!ATTLIST video %mo-attributes; %range-attribute; >
<!ELEMENT text (%assoc-link; )*>
<!ATTLIST text %mo-attributes; >
<!--=================== Link Elements =====================================-->
<!-- These should all conform to the XML linking elements -->
<!ENTITY % link-XML-link-atts " xml-link (simple) #FIXED 'simple' actuate (user) #FIXED 'user' show (replace|new|pause) 'replace' inline (true) #FIXED 'true' role CDATA #IMPLIED content-role CDATA #IMPLIED content-title CDATA #IMPLIED behavior CDATA #IMPLIED">
<!ENTITY % smil-link-attributes " id ID #IMPLIED href CDATA #REQUIRED">
<!--=================== Inline Link Element ===============================-->
<!ELEMENT a (%schedule; | switch )*>
<!ATTLIST a %link-XML-link-atts; %smil-link-attributes; >
<!--=================== Associated Link Element ===========================-->
<!ELEMENT anchor EMPTY>
<!ATTLIST anchor coords CDATA #IMPLIED iid CDATA #IMPLIED z-index CDATA '0' %smil-link-attributes; %link-XML-link-atts; %sync-attributes; >